草庐IT

javascript - ES6 参数的默认值

全部标签

ruby - 如何使用 Ruby OptionParser 指定所需的开关(不是参数)?

我正在编写一个脚本,我想要一个带有值的--host开关,但是如果没有指定--host开关,我想要选项解析失败。我似乎不知道该怎么做。文档似乎只指定如何使参数值成为强制性的,而不是开关本身。 最佳答案 一种使用optparse的方法,可以在缺少开关时提供友好的输出:#!/usr/bin/envrubyrequire'optparse'options={}optparse=OptionParser.newdo|opts|opts.on('-f','--fromSENDER','usernameofsender')do|sender|op

ruby-on-rails - Rails 4 不允许的数组参数

我的模型中有一个数组字段,我正在尝试更新它。我的强参数方法如下defpost_paramsparams["post"]["categories"]=params["post"]["categories"].split(",")params.require(:post).permit(:name,:email,:categories)end我在Controller中的Action如下defupdatepost=Post.find(params[:id]ifpostandpost.update_attributes(post_params)redirect_toroot_urlelsere

Ruby:如果存在 ENV 变量,则使用最简洁的方法,否则使用默认值

在Ruby中,我正在尝试编写一行,如果已设置变量,则使用该变量,否则默认为某个值:myvar=#assignittoENV['MY_VAR'],otherwiseassignitto'foobar'我可以这样写这段代码:ifENV['MY_VAR'].is_set?#whateverthefunctionistocheckifhasbeensetmyvar=ENV['MY_VAR']elsemyvar='foobar'end但这有点冗长,我尽量用最简洁的方式来写。我该怎么做? 最佳答案 myvar=ENV['MY_VAR']||'f

ruby-on-rails - attr_accessor 默认值

我正在使用Rails,我想将attr_accessor:politics默认设置为false。有谁知道如何做到这一点,并且能够用简单的术语为我解释一下吗? 最佳答案 Rails有attr_accessor_with_default所以你可以写classLikeattr_accessor_with_default:politics,falseendi=Like.newi.politics#=>false就这些更新attr_accessor_with_default已在Rails3.2中弃用。您可以使用纯Ruby代替classLikea

ruby - 使用哈希参数的 DRY Ruby 初始化

我发现自己在构造函数中使用了相当多的哈希参数,尤其是在为配置或最终用户将接触到的其他API位编写DSL时。我最终做的是类似下面的事情:classExamplePROPERTIES=[:name,:age]PROPERTIES.each{|p|attr_readerp}definitialize(args)PROPERTIES.eachdo|p|self.instance_variable_set"@#{p}",args[p]ifnotargs[p].nil?endendend是否没有更惯用的方法来实现这一点?一次性常量和符号到字符串的转换似乎特别令人震惊。

ruby - "require"默认查找的路径是什么?

在Ruby中,有人告诉我这样做require"some_file"Ruby会在某些地方寻找文件。我知道它会查找some_file.rb,但默认情况下它在哪里查找? 最佳答案 这取决于您的平台,以及Ruby的编译方式,因此没有“那个”答案。你可以通过运行找到:ruby-e'puts$:'不过,通常情况下,您拥有标准、站点和供应商Ruby库路径,包括每个路径下的架构、版本和通用目录。​​ 关于ruby-"require"默认查找的路径是什么?,我们在StackOverflow上找到一个类似的

ruby - 在 Ruby 中打开默认浏览器

在Python中,你可以这样做:importwebbrowserwebbrowser.open_new("http://example.com/")它将在默认浏览器中打开传入的url是否有ruby等价物? 最佳答案 跨平台解决方案:首先,安装Launchygem:$geminstalllaunchy然后,你可以运行这个:require'launchy'Launchy.open("http://stackoverflow.com") 关于ruby-在Ruby中打开默认浏览器,我们在Stac

ruby - 创建一个接受参数散列的 ruby​​ 方法

我不知道如何创建接受参数散列的ruby​​方法。我的意思是,在Rails中我想使用这样的方法:login_success:msg=>"Success!",:gotourl=>user_url接受这种参数的方法原型(prototype)是什么?我如何阅读它们? 最佳答案 如果您以散列语法将参数传递给Ruby函数,Ruby会假定这是您的目标。这个:deflogin_success(hsh={})putshsh[:msg]end 关于ruby-创建一个接受参数散列的ruby​​方法,我们在St

ruby - 如何使 Ruby 1.9 成为 Ubuntu 上的默认 Ruby?

在Ubuntu9.04上,有什么方法可以将Ruby1.8安装为ruby1.8(或完全删除它)并让Ruby1.9成为默认的ruby? 最佳答案 我不太确定,但也许这会有所帮助:update-alternatives--configruby...这是非交互式的、可编写脚本的方式:update-alternatives--setruby/usr/bin/ruby1.9.1您可以通过以下方式找到可用的替代方案和各自的/usr/bin/...路径:update-alternatives--queryruby

ruby-on-rails - 如何使 Rails 3.1 默认使用 SASS(Over SCSS)?

很难弄清楚如何将SASS而不是SCSS作为样式表的默认值。我试过用这个制作一个sass_config.rb文件:Sass::Plugin.options[:syntax]=:sassSass::Plugin.options[:style]=:compressed我也试过将其添加到environment.rb文件中。无论哪种方式,我都会收到此错误:.../config/environment.rb:7:in`':uninitializedconstantSass::Plugin(NameError) 最佳答案 对于rails3.1.r